#include <stdio.h>  
int main(void)
{
	int level;
	scanf("%d",&level);
        HanNuo(level, 'a', 'b', 'c');
	return 0;
} 
        /// <summary>
        /// 汉诺塔问题解决方法
        /// </summary>
        /// <param name="n">汉诺塔的层数</param>
        /// <param name="a">承载最初圆盘的柱子</param>
        /// <param name="b">起到中转作用的柱子</param>
        /// <param name="c">移动到的目标柱子</param>
void HanNuo(int n, char a, char b, char c)
{
    if (n == 1)   //这也是递归的终止条件
    {
        printf("将盘子%d从%c -----> %c\n", n, a, c); //控制台输出每次操作盘子的动向
    }
    else
    {
        HanNuo(n - 1, a, c, b);      //将a柱子上的从上到下n-1个盘移到b柱子上
        printf("将盘子%d从%c -----> %c\n", n, a, c); //控制台输出每次操作盘子的动向
        HanNuo(n - 1, b, a, c);      //将b柱子上的n-1个盘子移到c柱子上
    }
}
